import { createApp } from 'vue'
import App from './App.vue'
import router from './router'
import Swal from 'sweetalert2'
import 'font-awesome/css/font-awesome.min.css'
import axios from 'axios'
import qs from 'qs'
import {
  getCurDate,
  setSessionStorage,
  getSessionStorage,
  removeSessionStorage,
  setLocalStorage,
  getLocalStorage,
  removeLocalStorage,
  test
} from './common.js'

const app = createApp(App, {
  config: {
    productionTip: false
  }
})

// 设置axios的基础url部分
axios.defaults.baseURL = 'http://localhost:8080/elm/'

const axiosInstance = axios.create();
// 将axios挂载到vue实例上，使用时就可以this.$axios这样使用了
app.config.globalProperties.$axios = axiosInstance
app.config.globalProperties.$axios = axios

app.config.globalProperties.$qs = qs

app.config.globalProperties.$getCurDate = getCurDate
app.config.globalProperties.$setSessionStorage = setSessionStorage
app.config.globalProperties.$getSessionStorage = getSessionStorage
app.config.globalProperties.$removeSessionStorage = removeSessionStorage
app.config.globalProperties.$setLocalStorage = setLocalStorage
app.config.globalProperties.$getLocalStorage = getLocalStorage
app.config.globalProperties.$removeLocalStorage = removeLocalStorage
app.config.globalProperties.$test = test

// 路由守卫
router.beforeEach((to, from, next) => {
  let user = sessionStorage.getItem('user');
  // 除了登录、注册、首页、商家列表、商家信息外，都需要判断是否登录
  if (
    !(to.path == '/' || to.path=='/mcregister'||to.path == '/index' || to.name == 'BusinessList' || to.name == 'BusinessInfo' || to.path == '/login' || to.path == '/register'|| to.path == '/personalCenter'|| to.path == '/search'|| to.name == 'Testi'|| to.path == '/testO'|| to.path=='/preregister')&& user == null) {
	next('/login');
  }else{
	next();
  }
})

app.use(router)
app.mount('#app')
